The following tables compare general and technical information for a number of documentation generators. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
Contents |
Basic general information about the generators: creator/company, license/price etc.
Name | Creator | First public release date | Latest stable version | Software license |
---|---|---|---|---|
ApiGen | David Grudl, Jaroslav Hanslík, Ondřej Nešpor | 2010 | 2.3.0 | New BSD / GPL v2 / GPL v3 |
Appledoc | Gentle Bytes | 2009 | 2.0.3[1] | Modified BSD |
Autoduck | Eric Artzt | 1993 | 2.10[2] | Freeware[3] |
BI Documenter | Mienasoft | 2006 | 1.5 | Proprietary |
DB Manual | Blue Oceans Ltd | 2006 | 1.3 | Proprietary |
DBDesc | Logica2 | 2005 | 3.1 | Proprietary |
DBScribe | Leadum Software | 2007 | 1.1 | Proprietary |
classdoc | Jens Gulden | 2001 | 1.0 | GPL |
CppDoc | Richard Feit | 1998/11/23 | 2.3.1 | Proprietary |
Ddoc | Walter Bright | 2005/09/19 | DMD 1.010 / GDC 0.14 | Freeware / GPL |
devscribe | Geoff Cox | 2008 | 2.00 [4] | MSDN Code Gallery Licenses |
Doc-O-Matic | toolsfactory software inc | 2000/11/-- | 6.1 | Proprietary |
SQL Documentor | InfoCaptor | 2005/11/-- | 3.4 | Proprietary |
DOC++ | Dragos Acostachioaie. | 2002/12/22 | 3.4.10 | GPL |
Document! X | Innovasys | 1998 | 5.2.1.3 | Proprietary |
Doxygen | Dimitri van Heesch | 1997 | 1.7.5 | GPL |
Epydoc | Edward Loper | 2002/01/-- | 3.0 | MIT License |
fpdoc | Sebastian Guenther | 2005? | 2.4.0 | GPL |
GenHelp | FraserSoft | 1998/10/-- | 5.6.7 | Proprietary |
HeaderDoc | Apple Inc. | 2000/09/-- | 8.7.15 | APSL |
Help Generator | Agora Software BV | 2004/08/-- | 4.0 | Proprietary |
HyperSQL | Randy Phillips, Itzchak Rehberg | 2001 | 3.7.5 | GPL |
IDLdoc | Michael Galloy | 2002 | 3.3.1 | BSD |
Imagix 4D | Imagix Corp. | 1995 | 6.6 | Proprietary |
Javadoc | Sun Microsystems | 1995 | 1.6 | GPL |
JSDoc | Michael Mathews | 2001/07/-- | 1.10.2 | GPL |
JsDoc Toolkit | Michael Mathews | 2007? | 2.0.0 | MIT License |
KDOC | Sirtaj Singh Kang | 1999 | 3.0.1 | ? |
Natural Docs | Greg Valure | 2003/05/26 | 1.51 | GPL |
NDoc | Kevin Downs | 2003/07/27 | 1.3.1 | GPL |
phpDocumentor | Joshua Eichorn | 2000 | 1.4.4 | LGPL |
phpSimpleDoc | Thierry Graff | 2008 | 1.0 | GPL |
Project Analyzer | Aivosto Oy | 1997? | 9.0 | Proprietary |
RDoc | Dave Thomas | 2001/12/14 | in Ruby core | Ruby License |
ROBODoc | Frans Slothouber | 1995/01/19 | 4.99.36 | GPL |
Sandcastle | Microsoft | 2008/05/-- | 2.4.10520 | Ms-PL |
SoDa | IBM | 2008/07/-- | 7.0 | Proprietary |
Sphinx | Georg Brandl | 2008/03/-- | 1.1 | BSD |
ThimbleDoc | Thimbleopensource.com | 2008 | 0.2beta | GPL |
TwinText | PTLogica | 2002 | 2008.0.406 | Proprietary |
VBDOX | Mihayl Stamenov | 2001/10/26 | 2.1.0 | GPL |
VSdocman | Helixoft | 2000/10/-- | 5.5 | Proprietary |
jGrouseDoc | Denis Riabtchik | 2007/04/-- | 1.5 | BSD |
Haddock | Simon Marlow | 2002 | 2.0.0.0 (2008) | BSD |
Universal Report | Universal Software | 2001–2010 | 9.0 | Free Education / Proprietary |
YARD | Loren Segal | 2007/02/24 | 0.7.3 | MIT License |
Name | Creator | First public release date | Latest stable version | Software license |
The operating systems the generators can run on.
Windows | Mac OS X | Linux | BSD | Unix | |
---|---|---|---|---|---|
ApiGen | Yes | Yes | Yes | Yes | Yes |
Appledoc | No | Yes | No | No | No |
Autoduck | Yes | No | No | No | No |
BI Documenter | Yes | No | No | No | No |
classdoc | Yes | Yes | Yes | Yes | Yes |
CppDoc | Yes | No | Yes | No | No |
DB Manual | Yes | No | No | No | No |
DBDesc | Yes | No | No | No | No |
DBScribe | Yes | No | No | No | No |
Ddoc | Yes | Yes3 | Yes | Yes3 | No |
devscribe | Yes | No | No | No | No |
Doc-O-Matic | Yes | No | No | No | No |
DOC++ | Yes | Yes? | Yes | Yes | Yes |
Document! X | Yes | No | No | No | No |
Doxygen | Yes | Yes | Yes | Yes | Yes |
Epydoc | Yes | Yes | Yes | Yes | Yes |
fpdoc | Yes | Yes | Yes | Yes | Yes |
GenHelp | Yes | No | No | No | No |
Haddock | Yes | Yes | Yes | Yes | Yes |
HeaderDoc | No | Yes | Yes | Yes | Yes |
Help Generator | Yes | No | No | No | No |
HyperSQL | Yes | Yes | Yes | Yes | Yes |
IDLdoc | Yes | Yes | Yes | No | Yes |
Imagix 4D | Yes | No | Yes | No | Yes |
Javadoc | Yes | Yes | Yes | Yes | Yes |
jGrouseDoc | Yes | Yes | Yes | Yes | Yes |
JSDoc | Yes | Yes | Yes | Yes | Yes |
JsDoc Toolkit | Yes | Yes | Yes | Yes | Yes |
KDOC | Partial | Yes | Yes | Yes | Yes |
Natural Docs | Yes | Yes | Yes | Yes | Yes |
NDoc | Yes | No | No | No | No |
phpDocumentor | Yes | Yes | Yes | Yes | Yes |
phpSimpleDoc | Yes | Yes | Yes | Yes | Yes |
Project Analyzer | Yes | No | No | No | No |
RDoc | Yes | Yes | Yes | Yes | Yes |
ROBODoc | Yes | Yes | Yes | Yes | Yes |
Sandcastle | Yes | No | No | No | No |
ThimbleDoc | Yes | Yes | Yes | Yes | Yes |
TwinText | Yes | No | No | No | No |
Universal Report | Yes | No | No | No | No |
VBDOX | Yes | No | No | No | No |
VSdocman | Yes | No | No | No | No |
YARD | Yes | Yes | Yes | Yes | Yes |
Windows | Mac OS X | Linux | BSD | Unix |
Note (4): GNU D Compiler.
The programming languages the generators recognize.
C/C++ | Java | C# | VB / VBScript | Delphi / Pascal | Ada | D | IDL | .NET1 | Access | Fortran | |
---|---|---|---|---|---|---|---|---|---|---|---|
ApiGen | No | No | No | No | No | No | No | No | No | No | No |
Autoduck | Yes | No | No | Yes | No | No | No | No | No | No | No |
BI Documenter | No | No | No | No | No | No | No | No | Yes | No | No |
classdoc | No | Yes | No | No | No | No | No | No | No | No | No |
CppDoc | Yes | No | No | No | No | No | No | No | No | No | No |
DB Manual | No | No | No | No | No | No | No | No | Yes | No | No |
DBDesc | No | No | No | No | No | No | No | No | Yes | No | No |
DBScribe | No | No | No | No | No | No | No | No | No | No | No |
Ddoc | No | No | No | No | No | No | Yes | No | No | No | No |
devscribe | No | No | Yes | No | No | No | No | No | No | No | No |
Doc-O-Matic | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No | No |
DOC++ | Yes | Yes | No | No | No | No | No | Yes | No | No | No |
Document! X | C++/CLI only | No | Yes | Yes | No | No | No | Yes | Yes | Yes | No |
Doxygen | Yes | Yes | Yes | No3 | No3 | No | Partial | Yes | No | No | Yes |
Epydoc | No | No | No | No | No | No | No | No | No | No | No |
fpdoc | No | No | No | No | Yes | No | No | No | No | No | No |
GenHelp | Yes | No | Yes | No | Yes | No | No | No | Yes | No | No |
Haddock | No | No | No | No | No | No | No | No | No | No | No |
HeaderDoc | Yes | Yes | No | No | Yes | No | No | Yes | No | No | No |
Help Generator | Yes | No | Yes | Yes | No | No | No | No | Yes | Yes | No |
HyperSQL | No | No | No | No | No | No | No | No | No | No | No |
Imagix 4D | Yes | Yes | No | No | No | No | No | No | No | No | No |
Javadoc | No | Yes | No | No | No | No | No | No | No | No | No |
jGrouseDoc | No | No | No | No | No | No | No | No | No | No | No |
JSDoc | No | No | No | No | No | No | No | No | No | No | No |
JsDoc Toolkit | No | No | No | No | No | No | No | No | No | No | No |
KDOC | Yes | No | No | No | No | No | No | Yes | No | No | No |
Natural Docs | Partial | Partial | Yes | Partial | Partial | Partial | No | No | No | No | Partial |
NDoc | No | No | Yes | No | No | No | No | No | Yes | No | No |
phpDocumentor | No | No | No | No | No | No | No | No | No | No | No |
phpSimpleDoc | No | No | No | No | No | No | No | No | No | No | No |
Project Analyzer | No | No | No | Yes | No | No | No | No | Yes | No | No |
RDoc | Partial | No | No | No | No | No | No | No | No | No | No |
ROBODoc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes |
TwinText | Yes | Yes | Yes | Yes | Yes | Yes | Partial | Yes | Yes | No | Yes |
Universal Report | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes |
VBDOX | No | No | No | Yes | No | No | No | No | No | No | No |
VSdocman | No | No | Yes | Yes | No | No | No | No | Yes | No | No |
YARD | No | No | No | No | No | No | No | No | No | No | No |
C/C++ | Java | C# | VB / VBScript | Delphi / Pascal | Ada | D | IDL | .NET1 | Access | Fortran |
PHP | Perl | Python | Ruby | JavaScript | ActionScript | PL/SQL | Tcl | Haskell | Any With Comments2 | |
---|---|---|---|---|---|---|---|---|---|---|
ApiGen | Yes | No | No | No | No | No | No | No | No | No |
Autoduck | No | No | No | No | No | No | No | No | No | No |
BI Documenter | No | No | No | No | No | No | No | No | No | No |
classdoc | No | No | No | No | No | No | No | No | No | No |
CppDoc | No | No | No | No | No | No | No | No | No | No |
DB Manual | No | No | No | No | No | No | No | No | No | No |
DBScribe | No | No | No | No | No | No | Yes | No | No | No |
Ddoc | No | No | No | No | No | No | No | No | No | No |
devscribe | No | No | No | No | No | No | No | No | No | No |
Doc-O-Matic | Yes | No | No | No | Yes | No | No | No | No | Yes |
DOC++ | No | No | No | No | No | No | No | No | No | No |
Document! X | No | No | No | No | No | No | Yes | No | No | No |
Doxygen | Yes | No3 | Yes | No | No | No | No | No | No | No |
Epydoc | No | No | Yes | No | No | No | No | No | No | No |
fpdoc | No | No | No | No | No | No | No | No | No | No |
GenHelp | No | No | No | No | No | No | No | No | No | No |
Haddock | No | No | No | No | No | No | No | No | Yes | No |
HeaderDoc | Yes | Yes | No | No | Yes | No | No | No | No | No |
HyperSQL | No | No | No | No | No | No | Yes | No | No | No |
Imagix 4D | No | No | No | No | No | No | No | No | No | No |
Javadoc | No | No | No | No | No | No | No | No | No | No |
jGrouseDoc | No | No | No | No | Yes | No | No | No | No | No |
JSDoc | No | No | No | No | Yes | No | No | No | No | No |
JsDoc Toolkit | No | No | No | No | Yes | No | No | No | No | No |
KDOC | No | No | No | No | No | No | No | No | No | No |
Natural Docs | Partial | Yes | Partial | Partial | Partial | Yes | Partial | Partial | No | Yes |
NDoc | No | No | No | No | No | No | No | No | No | No |
phpDocumentor | Yes | No | No | No | No | No | No | No | No | No |
phpSimpleDoc | Yes | No | No | No | No | No | No | No | No | No |
Project Analyzer | No | No | No | No | No | No | No | No | No | No |
RDoc | No | No | No | Yes | No | No | No | No | No | No |
ROBODoc | Yes | Yes | No | Yes | Yes | Partial | Yes | Yes | No | Yes |
ThimbleDoc | Yes | No | No | No | No | No | No | No | No | No |
TwinText | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
Universal Report | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | Yes |
VBDOX | No | No | No | No | No | No | No | No | No | No |
VSdocman | No | No | No | No | No | No | No | No | No | No |
YARD | No | No | No | Yes | No | No | No | No | No | No |
PHP | Perl | Python | Ruby | JavaScript | ActionScript | PL/SQL | Tcl | Haskell | Any With Comments2 |
Note (1): .NET is not a programming language, but is listed here for convenience.
Note (2): Generators listed here can be extended to support any language that has comments.
Note (3): Though not supported as a native input language, Doxygen can be extended through the use of filters. Examples include Visual Basic, VB.NET, Perl, and Pascal:
The input formats the generators can read.
Text | Binary | |
---|---|---|
ApiGen | Yes | No |
Autoduck | Yes | No |
BI Documenter | No | Yes |
DB Manual | No | Yes |
classdoc | No | Yes |
CppDoc | Yes | No |
DBDesc | No | Yes |
DBScribe | No | Yes |
Ddoc | Yes | No |
devscribe | No | Yes |
Doc-O-Matic | Yes | No |
DOC++ | Yes | No (except Java class files) |
Document! X | Yes | Yes |
Doxygen | Yes | No |
Epydoc | Yes | No |
fpdoc | Yes | No |
GenHelp | Yes | No |
Haddock | Yes | No |
HeaderDoc | Yes | No |
Help Generator | Yes | Yes |
HyperSQL | Yes | No |
IDLdoc | Yes | No (except for .sav files) |
Imagix 4D | Yes | No |
Javadoc | Yes | No |
jGrouseDoc | Yes | No |
JSDoc | Yes | No |
JsDoc Toolkit | Yes | No |
KDOC | Yes | No |
Natural Docs | Yes | No |
NDoc | No | Yes |
Plain Old Documentation | Yes | No |
phpDocumentor | Yes | No |
phpSimpleDoc | Yes | No |
Project Analyzer | Yes | Yes |
RDoc | Yes | No |
ROBODoc | Yes | No |
TwinText | Yes | Yes |
Universal Report | Yes | No |
VBDOX | Yes | No |
VSdocman | Yes | No |
YARD | Yes | No |
Text | Binary |
The output formats the generators can write.
HTML | CHM | RTF | LaTeX | PostScript | man pages | DocBook | XML | ||
---|---|---|---|---|---|---|---|---|---|
ApiGen | Yes | No | No | No | No | No | No | No | No |
Autoduck | Yes | No | Yes | No | No | No | No | No | No |
BI Documenter | Yes | Yes | No | No | No | No | No | No | No |
classdoc | Yes | No | No | No | No | No | No | No | No |
CppDoc | Yes | No | No | No | No | No | No | No | No |
DB Manual | Yes | Yes | No | No | No | No | No | No | No |
DBDesc | Yes | No | Yes | Yes | No | No | No | No | Yes |
DBScribe | Yes | Yes | Yes | No | No | No | No | No | No |
Ddoc | Yes | Yes4 | No | Yes4 | Yes4 | Yes4 | Yes4 | No | Yes4 |
devscribe | Yes | No | No | No | No | No | No | No | Yes |
Doc-O-Matic | Yes | Yes | Yes | Yes | No | No | No | No | Yes |
DOC++ | Yes | No | No | Yes7 | Yes | Yes7 | No | No | No |
Document! X | Yes | Yes | No | No | No | No | No | No | No |
Doxygen | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
Epydoc | Yes | No | No | Yes | Indirectly5 | Indirectly5 | No | No | No |
fpdoc | Yes | Yes | Yes | No | Yes | No | Yes | No | Yes |
GenHelp | Yes | Yes | Yes | No | No | No | No | No | No |
Haddock | Yes | Yes | No | No | No | No | No | Partial | No |
HeaderDoc | Yes | No | No | No | No | No | Yes | No | Yes |
Help Generator | Yes | Yes | Yes | No | No | No | No | No | Yes |
HyperSQL | Yes8 | No | No | No | No | No | No | No | No8 |
IDLdoc | Yes | No | No | No | Yes | No | No | Yes | Yes |
Imagix 4D | Yes | No | Yes | No | No | No | No | No | No |
Javadoc | Yes | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 |
jGrouseDoc | Yes | No | No | No | No | No | No | No | Yes |
JSDoc | Yes | No | No | No | No | No | No | No | No |
JsDoc Toolkit | Yes | No | No | No | No | No | No | No | Yes+JSON |
KDOC | Yes | No | No | No | No | No | No | No | No |
Natural Docs | Yes | No | No | No | No | No | No | No | No |
NDoc | Yes | Yes | No | No | No | No | No | No | No |
phpDocumentor | Yes | Yes | No | Yes | No | No | No | Yes | Yes |
phpSimpleDoc | Yes | No | No | No | No | No | No | No | No |
Project Analyzer | Yes | Yes | Yes | Yes | No | No | No | No | No |
Sandcastle | Yes | Yes | No | No | No | No | No | No | No |
RDoc | Yes | Yes9 | No | No | No | No | Indirectly10 | No | Yes9 |
ROBODoc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
ThimbleDoc | Yes | No | No | No | No | No | No | No | No |
TwinText | Yes | Yes | No | No | No | No | No | No | No |
Universal Report | Yes | No | Yes | Yes | Yes | Yes | No | No | No |
VBDOX | Yes | Yes | Yes | No | No | No | No | No | No |
VSdocman | Yes | Yes | Yes | No | No | No | No | No | Yes |
YARD | Yes | No | No | No | No | No | No | No | No |
HTML | CHM | RTF | LaTeX | PostScript | man pages | DocBook | XML |
Note (4): Ddoc has a macro system which can be customized to output any desired format. CHM, groff (manpages), XHTML, XML, and LaTeX (so PostScript and PDF) were tested. They are not currently included in the standard distribution. Standard HTML output also is generated using macros and can be redefined.
Note (5): Though not officially supported as an output format, Epydoc uses LaTeX and PostScript as intermediate steps to produce the final PDF documentation.
Note (6): Via Doclets from Third Parties.
Note (7): DOC++ outputs LaTeX and includes templates to enable conversion to PDF or PostScript with the appropriate latex tools. Required tools however are not included with DOC++.
Note (8): HyperSQL can output UnitTests (which can be embedded with the JavaDoc like description) as XML
Note (9): RDoc currently only provides generators for CHM and XML documents in the RDoc version provided as part of the Ruby 1.9 Core.
Note (10): RDoc generates documentation for RI, which is Ruby's version of the Unix man pages.
possibility of extended customization | generated diagrams | highlighting and linking of generated doc | parameter types extracted | |
---|---|---|---|---|
ApiGen | Customizable Latte-based templates | cross reference to generated documentation, and to php.net function reference | Yes | |
Autoduck | ||||
BI Documenter | ||||
classdoc | ||||
CppDoc | ||||
DB Manual | ||||
DBDesc | full customization for all output formats using XSL templates and a built-in designer | All SQL code syntax highlighted | Yes | |
DBScribe | ||||
Ddoc | with macros | |||
devscribe | Via code, XSLT, CSS and web.config | Looks and reads just like code with syntax coloring in Visual Studio style. | Supports linking from all member and method parameter types. | |
Doc-O-Matic | full customization for all output formats, template for MSDN and other lookalike output, custom XMLDoc/JavaDoc tags | local, module and global graphical class hierarchies, local text class hierarchies | fully cross linked project wide, automatic inter-project links, automatic links into framework documentation like MSDN, Borland/CodeGear Help | types extracted and linked |
DOC++ | ||||
Document! X | customizable HTML based templates, custom comment tags | linked graphical object relationship diagrams | internal links and links to .NET framework documentation | types extracted and linked |
Doxygen | with XSLT | caller and callee graphs, dependency graphs, inheritance diagrams, collaboration diagrams | ||
Epydoc | ||||
Haddock | Yes | Yes | ||
HeaderDoc | Custom headers, footers, code coloring, and other CSS styles in individual pages. Project-wide TOC is generated from a user-defined template. | Configurable syntax highlighting/coloring with automatic linking to symbols in declaration, ability to manual link to symbols in discussion, etc. | Provides warnings if tagged parameters do not match code, parsed parameters included in XML output and Doxygen-style tagfile (-D flag in 8.7). Partial C preprocessor support with -p flag. Preliminary support for #if/#ifdef control over documentation through an external utility (not currently installed by default). | |
Help Generator | ||||
HyperSQL | custom CSS, options via configuration file, optional central to do/bug lists (items extracted from javadoc comments) | Pie Charts for code statistics, object relationship diagrams (dependency graphs) | fully cross linked project wide for views, packages, package functions, and package procedures; optional inclusion of source code with syntax highlighting; links to javadoc generated references as well as directly to the code lines; code statistics | Provides warnings if tagged parameters count does not match code |
IDLdoc | customizable through user-defined templates and stylesheets | Yes | Yes | |
Imagix 4D | customizable through style sheets and CSS | linked hierarchy and dependency graphs for function calls, variable sets and reads, class inheritance and interface, and file includes and interface, intra-function flow charts | fully cross linked project wide, including all hierarchy and dependency graphs, metrics tables, source code snippets, and source files | full semantic analysis of source code, including parameter types, condition compilation directives, macro expansions |
Javadoc | ||||
jGrouseDoc | With XSLT | cross reference to generated documentation | Yes | |
JSDoc | Yes | |||
JsDoc Toolkit | Yes | |||
KDOC | ||||
Natural Docs | ||||
NDoc | ||||
phpDocumentor | Smarty-based templates | class inheritance diagrams | cross reference to generated documentation, and to php.net function reference | Yes |
phpSimpleDoc | class / interface inheritance | Yes | Yes | |
Project Analyzer | custom CSS | File dependencies, inheritance, control flow, data flow, variable access, class instantiation, data
declaration, Form.Show order, procedure calls, project dependencies, file belongs to project, class cohesion. |
Cross-referenced source code | types extracted and linked, source code level linkage |
RDoc | ||||
ROBODoc | ||||
TwinText | 20 CSS styles. Well documented CSS facilitates customization. | ASCII diagramming and picture importing. | Table of Contents, Index, and per-page cross referencing. | Method/Function parameters extracted and linked. |
Universal Report | customizable HTML based templates, custom comment tags | linked graphical object relationship diagrams | internal links between routines and objects | data types extracted and linked |
VBDOX | ||||
VSdocman | full customization for all output formats, templates for MSDN-like output, custom XML comment tags | linked graphical class diagrams, class inheritance tree | internal links and links to .NET framework documentation | types extracted and linked |
YARD | customizable Ruby templates | class diagrams with extra tool | internal classes/modules cross-referenced and Ruby source highlighted | |
possibility of extended customization | generated diagrams | highlighting and linking of generated doc | parameter types extracted |